package xx.services.page.inter;

import javax.ws.rs.FormParam;
import javax.ws.rs.PathParam;

/**
 * page页面Tab管理服务接口
 * 
 * @Path (Constants.RESTFUL_ROOT_PATH + "/page/tab")
 * 
 * @author chenxiang 2010-12-21
 */
public interface ITabInterface
{
    /**
     * 描述：获取一个Tab demo，包含Item<br>
     * 
     * @GET
     * @Path ("/{tab_id}")
     * @param tabId-@PathParam("tab_id")
     *            Tab ID
     * @return Tab 实体，包含Item
     * @author chenxiang
     */
    public String get(@PathParam("tab_id")
    long tabId);

    /**
     * 获取一个Tab html代码，包含Item<br>
     * 
     * @GET
     * @Path ("/{tab_id}/html")
     * @param tabId-@PathParam("tab_id")
     *            Tab ID
     * @return Tab Html代码，不是json数据
     * @author chenxiang
     */
    public String getHtml(@PathParam("tab_id")
    long tabId);

    /**
     * 修改一个Tab demo。<br>
     * 
     * @PUT
     * @Path ("/{tab_id}")
     * @param tabId-@PathParam("tab_id")
     *            Tab ID
     * @param tab-@FormParam("tab")
     *            Tab demo的Json字符串
     * @return 新增的Tab 实体
     * @author chenxiang
     */
    public String update(@PathParam("tab_id")
    long tabId, @FormParam("tab")
    String tab);

    /**
     * 描述：删除Tab demo。<br>
     * 
     * @DELETE
     * @Path ("/{tab_id}")
     * 
     * @param tabId-@PathParam("tab_id")
     *            Tab ID，多个Tab ID用“_”隔开
     * @return true-删除成功，string-其他删除失败（string就是失败原因）
     * @author chenxiang
     */
    public String delete(@PathParam("tab_id")
    String tabId);
}
